/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Ventas.procsventas;

/**
 *
 * @author memin yac roblero
 */

import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.URL;
import java.sql.Array;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.DriverManager;
import java.sql.NClob;
import java.sql.Ref;
import java.sql.ResultSetMetaData;
import java.sql.RowId;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.SQLXML;
import java.sql.Statement;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;


public class classprocs
{
          java.sql.Connection  con = null;
  
    public classprocs()  
    {
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost/BDTienda","root","1234");
        } catch (SQLException ex) {
            Logger.getLogger(classprocs.class.getName()).log(Level.SEVERE, null, ex);
        }
    
    }
 
     public java.sql.ResultSet vercuentasfiltradas(String nomcuenta) throws SQLException
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
         
         rs = cs.executeQuery("select * from DICCIONARIO where DICCIONARIO.nombre like ('%"+nomcuenta+"%')");
         return rs;
     }
    
     
      public java.sql.ResultSet vercuentasprcodigo(String codigo) throws SQLException
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
         
         rs = cs.executeQuery("select * from DICCIONARIO where DICCIONARIO.codigo like ('%"+codigo+"%')");
         return rs;
     }
//POR HACER
     //CAMBIAR EL ITEM STOCK MINIMO POR DECRIPCION QUE SIRVE EN EL INGRESO A LA BD DE VENTAS
        
     
      public java.sql.ResultSet Verproductosprcodigo(String code) throws SQLException
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
       

        rs= cs.executeQuery("select pr.Codigo, pr.Nombre, pr.Tipo, pr.Marca,  pr.PrecioVenta, pr.Existencia, pr.Descripcion, pr.idProducto  from Producto as pr where pr.Codigo = "+code);


         return rs;
     }
  
      
           public java.sql.ResultSet Verproductosprnombre(String nombre) throws SQLException
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
       

        rs= cs.executeQuery("select pr.Codigo, pr.Nombre, pr.Tipo, pr.Marca,  pr.PrecioVenta, pr.Existencia, pr.Descripcion  from Producto as pr where pr.Nombre like ('%"+nombre+"%')");


         return rs;
     }
      
     public java.sql.ResultSet Verproductosprmarcaynombre(String nombre, String marca) throws SQLException
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
       

        rs= cs.executeQuery("select pr.Codigo, pr.Nombre, pr.Tipo, pr.Marca,  pr.PrecioVenta, pr.Existencia, pr.Descripcion  from Producto as pr where pr.Marca like ('%"+marca+"%') and  pr.Nombre like ('%"+nombre+"%')");


         return rs;
     }
         
           
 //select pr.Existencia  from Producto as pr where pr.idProducto=9
   //procedimiento que devuelve el numero de existencias que tenga un produto seleccionado por id
     
     public java.sql.ResultSet Verexistenciaspridprod(String idprod) throws SQLException
              
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
         
         rs = cs.executeQuery("select pr.Existencia from Producto as pr where pr.idProducto ="+idprod);
         
         return rs;
     }
     
     
     //muestra el cliente con el nit parecido a el que se ingrese por parametro
      public java.sql.ResultSet Verclienteslike(String nitcliente) throws SQLException
              
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
         
         rs = cs.executeQuery("select cl.NItCliente, cl.Nombre, cl.Direccion, cl.Telefono from Cliente as cl where cl.NitCliente like ('%"+nitcliente+"%')");
         
         return rs;
     }
      
      
      
      
     //EDIT `scrum`.`INTEGRANTES`;
//use scrum;
//select * from equipo as eq inner join integrantes as inte on eq.id_equipo=inte.id_equipo where inte.id_equipo=1
public void insertarcliente(String nitcliente, String nombre, String direccion, String telefono) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call InsertarCliente('"+nitcliente+"','"+nombre+"','"+direccion+"','"+telefono+"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
}



//nofactura Char(15), fecha Date ,total Double,Descuento int, nitcliente char(15)

//insert into Factura_Venta (No_Factura,Fecha,Total,descuento,Cliente_NitCliente)

public void insertarfactura(String nofactura, Date fecha, Double total, int descuento, String nitcliente ) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call InsertarFactura('"+nofactura+"','"+String.valueOf(fecha)+"','"+String.valueOf(total)+"','"+String.valueOf(descuento)+"','"+nitcliente+"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
}

//InsertarDetalleVenta`(cantidad int, precio Double ,idproducto int,nofactura char(15)

public void insertardetalleventa(int cantidad, Double precio, int idproducto, String nofactura ) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call InsertarDetalleVenta('"+String.valueOf(cantidad) +"','"+String.valueOf(precio) +"','"+String.valueOf(idproducto)+"','"+nofactura+"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
}

//`BorraExistPro`( idprod int, descuento int)


public void BorraExistPro(int idprod, int cantdescontar ) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call BorraExistPro('"+String.valueOf(idprod)+"','"+String.valueOf(cantdescontar) +"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
}


public void Borraultimafactura() throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call deletelastfactura()}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
}




public void insertarBalgral(int id_estado,String empresa,Date fecha,int sumaactivo,int sumapasivo,int sumacapital,int totalbalance) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call InsertarBalGral('"+String.valueOf(id_estado)+"','"+empresa+"','"+fecha +"','"+String.valueOf(sumaactivo) +"','"+ String.valueOf(sumapasivo)+"','"+String.valueOf(sumacapital)+"','"+String.valueOf(totalbalance) +"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
}


public void Updtintegrantes(int idint, String nombre, String apellido, String direccion, int carne, String edad, int nivel, boolean eslider) throws SQLException
     {
         java.sql.CallableStatement cs = con.prepareCall("{call Actualiza_integrantes('"+ idint + "','" + nombre + "','" + apellido +"','"+ direccion +"','" + String.valueOf(carne)+"','"+edad+"','"+String.valueOf(nivel)+"','"+eslider+"')}");
         java.sql.Statement stm = con.createStatement();
         java.sql.ResultSet rs = cs.executeQuery();
     }
 

     
public void insertarequipo(String nombre, int numintegrantes, String gradoequipo,int idjefe,String carnejefe) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call Insertarequipo('"+nombre+"','"+String.valueOf(numintegrantes)+"','"+gradoequipo+"','"+String.valueOf(idjefe)+"','"+carnejefe+"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
    
}


    
public void insertarproyecto(String nombre, String descripcion,String equipoacargo ,int idjefepry) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call Insertarproyecto('"+nombre+"','"+descripcion+"','"+equipoacargo+"','"+String.valueOf(idjefepry)+"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
    
}

    public java.sql.ResultSet Verproyectos1(int idequipo, int idproyecto) throws SQLException
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
         
         rs = cs.executeQuery("select proy.id_proyecto, proy.nombre, proy.descripcion, proy.equipoacargo, proy.id_jefe_proyecto from equipo as eq inner join proyecto as proy on eq.id_equipo=proy.id_equipo where eq.id_equipo="+String.valueOf(idequipo)+" and "+String.valueOf(idproyecto));
         return rs;
     }
  
    
    
    public java.sql.ResultSet Verproyectos2(String nombrepry) throws SQLException
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
         
         rs = cs.executeQuery("select proy.id_proyecto, proy.nombre, proy.descripcion, proy.equipoacargo, proy.id_jefe_proyecto from equipo as eq inner join proyecto as proy on eq.id_equipo=proy.id_equipo where proy.nombre like ('%"+nombrepry+"%')");
         return rs;
     }
    
    
      
public void insertarsprint(int idproy, Date fechcreacion,String nomproy ,String estsprint) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call Insertarsprint('"+String.valueOf(idproy)+"','"+fechcreacion+"','"+nomproy+"','"+estsprint+"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
    
}



    public java.sql.ResultSet Verlastidsprnt(int idproyecto) throws SQLException
     {
    
         java.sql.ResultSet rs = null ;
            
            Statement cs = con.createStatement();
         
         rs = cs.executeQuery("select max(id_sprint) as MAXidsprint from sprint where id_proyecto="+String.valueOf(idproyecto));
         return rs;
     }
    //idsprint int, title varchar(40), priority int,fech Date, descr varchar(10000), Active bit,state int)

    //insert into tareas (id_sprint,titulo,prioridad,fecha,descripcion, Activa, estado)
//values(idsprint,title,priority,fech,descr,Active,state);

    
    
public void insertartarea(int idsprint, String titulo,int prioridad,Date fechcreacion,String descripcion ,int  activa,int estado) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call Insertartarea('"+String.valueOf(idsprint)+"','"+titulo+"','"+String.valueOf(prioridad) +"','"+fechcreacion+"','"+descripcion+"','"+String.valueOf(activa)+"','"+String.valueOf(estado)+"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
    
}


    
public void insertarposiciontarea(int idtarea,int posix , int posiy,int colubic) throws SQLException{
       
    
              java.sql.CallableStatement cs = con.prepareCall("{call Insertarpostarea('"+String.valueOf(idtarea)+"','"+String.valueOf(posix)+"','"+String.valueOf(posiy) +"','"+String.valueOf(colubic)+"')}");
              java.sql.Statement stm = con.createStatement();
              java.sql.ResultSet rs = cs.executeQuery();
    
}


    
    
    public java.sql.ResultSet Verlastidtarea(int idsprint) throws SQLException  //tohavia no se pa ke me va srvir jeje
     {
    
         java.sql.ResultSet rs = null;
            
            Statement cs = con.createStatement();
         
         rs = cs.executeQuery("select max(id_tarea) as MAXidtarea from tareas where id_sprint="+String.valueOf(idsprint));
         return rs;
     }
    
    

//consulta qeu devuleve el id_sprint del ultimo spront insertado
//select max(id_sprint) as MAXidsprint from sprint where id_proyecto=1

//insert into sprint(id_proyecto,fecha_creacion,nombreadmin,password,nombreproyecto,idproyecto,estadosprint)

//values(1idproy,fech,null,null,nomproy,null,estsprint);


//EDIT `scrum`.`INTEGRANTES`;
//use scrum;
//select proy.id_proyecto, proy.nombre, proy.descripcion, proy.equipoacargo, proy.id_jefe_proyecto from equipo as eq inner join proyecto as proy on eq.id_equipo=proy.id_equipo where eq.id_equipo=1
 
     
}
